#ifndef __MYIIC_H__
#define __MYIIC_H__

#include "stm32f4xx_hal.h"
#include "main.h"
#include "stdint.h"

#define CPU_FREQUENCY_MHZ  72

#define SDA_Dout_LOW()                          HAL_GPIO_WritePin(IIC_SDA_GPIO_Port,IIC_SDA_Pin,GPIO_PIN_RESET)
#define SDA_Dout_HIGH()                         HAL_GPIO_WritePin(IIC_SDA_GPIO_Port,IIC_SDA_Pin,GPIO_PIN_SET)
#define SDA_Data_IN()                           HAL_GPIO_ReadPin(IIC_SDA_GPIO_Port,IIC_SDA_Pin)
#define SCL_Dout_LOW()                          HAL_GPIO_WritePin(IIC_SCL_GPIO_Port,IIC_SCL_Pin,GPIO_PIN_RESET)
#define SCL_Dout_HIGH()                         HAL_GPIO_WritePin(IIC_SCL_GPIO_Port,IIC_SCL_Pin,GPIO_PIN_SET)
#define SCL_Data_IN()                           HAL_GPIO_ReadPin(IIC_SCL_GPIO_Port,IIC_SCL_Pin)
#define SDA_Write(XX)   						HAL_GPIO_WritePin(IIC_SDA_GPIO_Port,IIC_SDA_Pin,(XX?GPIO_PIN_SET:GPIO_PIN_RESET))

void 			IIC_Init(void);
void 			IIC_Start(void);
void 			IIC_Stop(void);
void 			IIC_Send_Byte(uint8_t txd);
uint8_t 	    IIC_Read_Byte(uint8_t ack);
void 			IIC_NAck(void);
void 			IIC_Ack(void);
uint8_t 	    IIC_Wait_Ack(void);




void delay_xus(__IO uint32_t nTime);


#define Delay_us(xx)  delay_xus(xx)
 
#endif
